This invention relates generally to video graphics processing and more particularly to three dimensional video graphics processing.
The basic architecture of the computing device is known to include a central processing unit (CPU), system memory, input/output ports, an address generation unit (AGU), program control circuitry, interconnecting buses, audio processing circuitry, and video processing circuitry. Such computing devices are used in video game players, personal computers, work stations, and televisions, to name just a few of the almost endless number of commercial computing devices. As each of these basic elements evolve, computing devices are able to process more data and do it more quickly, offer enhanced user interfaces, and provide more vibrant displays. The more vibrant displays are the direct result of video graphics circuit evolution.
Video graphics circuits have evolved from providing simple text and two dimensional images to relatively complex three-dimensional images. Such evolution began with high-end computers, such as work stations, where the use of complex and costly circuitry is more commercially viable. For example, three-dimensional multimedia graphics started with the high-end computers using texture mapping. Texture mapping allows a rendering system to map a two dimensional image (i.e., a texture map) onto a three-dimensional shape making the three dimensional shape look more complex and realistic than the underlying geometry. While texture mapping allows a two-dimensional object to have the appearance of a complex three-dimensional image, such texture mapping requires a large amount of memory. For detailed two dimensional images, the memory required for texture mapping it on to a three dimensional object may exceed the available memory or may cause the resulting three dimensional image to exceed the actual size of the geometric scene.
To overcome the preceding problem, hardware systems include dedicated memory to support real-time texture mapping. The dedicated memory stores the two dimensional texture map making it more readily accessible. While the dedicated memory improves the efficiency of hardware systems performing texture mapping, the processing capabilities of the hardware system is limited and may soon be overtaxed by the texture mapping.
To reduce the amount of the memory required for texture mapping, the texture map maybe compressed and stored as compressed data. The compressed data, as the name suggests, requires less memory to store. With various types of compression techniques, such as vector quantization, a compression ratio of up to 35 to 1 maybe achieved with little lost in the individual quality of the rendered scene. While compression helps reduce the cost and complexity of three-dimensional texture mapping hardware circuits, a need still exists for a high-quality and economical three-dimensional graphics processor.